package com.crazy.model.major.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;

/**
 * <p>
 * 权限表
 * </p>
 *
 * @author ${author}
 * @since 2020-12-24
 */
@TableName("T_USER_LIMIT")
public class TUserLimit extends Model<TUserLimit> {

    /**
    * 所有字段名
    */
    public static class Columns {
        /**
        * 
        */
        public static final String id = "ID";
        /**
        * 限制名称
        */
        public static final String limitName = "LIMIT_NAME";
        /**
        * 类型（1：菜单，2：接口，3：非菜单（页面））
        */
        public static final String type = "TYPE";
        /**
        * 
        */
        public static final String createTime = "CREATE_TIME";
        /**
        * 
        */
        public static final String updateTime = "UPDATE_TIME";
        /**
        * 描述
        */
        public static final String descript = "DESCRIPT";
        /**
        * 有效（0：无效，1：有效）
        */
        public static final String valid = "VALID";
        /**
        * 
        */
        public static final String parentId = "PARENT_ID";
        /**
        * 请求地址
        */
        public static final String url = "URL";
        /**
        * 菜单顺序
        */
        public static final String orderNo = "ORDER_NO";
        /**
        * 接口/菜单权限
        */
        public static final String requireLimit = "REQUIRE_LIMIT";
        /**
        * 层级关系
        */
        public static final String level = "LEVEL";
    }

    @TableId(value = "ID", type = IdType.AUTO)
    private Long id;

    /**
     * 限制名称
     */
    @TableField("LIMIT_NAME")
    private String limitName;

    /**
     * 类型（1：菜单，2：接口，3：非菜单（页面））
     */
    @TableField("TYPE")
    private Integer type;

    @TableField("CREATE_TIME")
    private LocalDateTime createTime;

    @TableField("UPDATE_TIME")
    private LocalDateTime updateTime;

    /**
     * 描述
     */
    @TableField("DESCRIPT")
    private String descript;

    /**
     * 有效（0：无效，1：有效）
     */
    @TableField("VALID")
    private Integer valid;

    @TableField("PARENT_ID")
    private Long parentId;

    /**
     * 请求地址
     */
    @TableField("URL")
    private String url;

    /**
     * 菜单顺序
     */
    @TableField("ORDER_NO")
    private Integer orderNo;

    /**
     * 接口/菜单权限
     */
    @TableField("REQUIRE_LIMIT")
    private String requireLimit;

    /**
     * 层级关系
     */
    @TableField("LEVEL")
    private String level;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getLimitName() {
        return limitName;
    }

    public void setLimitName(String limitName) {
        this.limitName = limitName;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    public String getDescript() {
        return descript;
    }

    public void setDescript(String descript) {
        this.descript = descript;
    }

    public Integer getValid() {
        return valid;
    }

    public void setValid(Integer valid) {
        this.valid = valid;
    }

    public Long getParentId() {
        return parentId;
    }

    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public Integer getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(Integer orderNo) {
        this.orderNo = orderNo;
    }

    public String getRequireLimit() {
        return requireLimit;
    }

    public void setRequireLimit(String requireLimit) {
        this.requireLimit = requireLimit;
    }

    public String getLevel() {
        return level;
    }

    public void setLevel(String level) {
        this.level = level;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "TUserLimit{" +
        "id=" + id +
        ", limitName=" + limitName +
        ", type=" + type +
        ", createTime=" + createTime +
        ", updateTime=" + updateTime +
        ", descript=" + descript +
        ", valid=" + valid +
        ", parentId=" + parentId +
        ", url=" + url +
        ", orderNo=" + orderNo +
        ", requireLimit=" + requireLimit +
        ", level=" + level +
        "}";
    }
}
